package file;

import java.io.File;
import java.io.FileFilter;

/**
 * 使用文件过滤器获取一个目录下满足过滤要求的所有子项
 */
public class ListFilesDemo2 {
    public static void main(String[] args) {
        //需求:获取当前项目目录下所有名字以"test"开始的文件
        File dir = new File(".");
        /*
            Filter:过滤器
            FileFilter:文件过滤器
            accept:接受
         */
        FileFilter filter = new FileFilter() {
            //重写规则:定义过滤条件，当参数file符合过滤要求时方法应当返回true
            public boolean accept(File file) {
                //接受条件:当file的名字以"test"开始就接受
                //1获取file的名字
                String name = file.getName();
                //2名字是否以"test"开始
                return name.startsWith("test");
            }
        };
        /*
            重载的listFiles方法:
            File[] listFiles(FileFilter filter)
            将当前File对象表示的目录中所有满足过滤器要求的子项获取
         */
        File[] subs = dir.listFiles(filter);
        for(File sub : subs){
            System.out.println(sub.getName());
        }

    }
}



